#ifndef TIMER_H
#define TIMER_H

#include <QWidget>
#include <QTime>
#include <QTimer>
#include <QDateTime>
#include <QTimeZone>

// 前置声明，避免包含头文件（减少耦合）
class SecondWindow;

namespace Ui {
class timer;
}

class timer : public QWidget
{
    Q_OBJECT

public:
    explicit timer(QWidget *parent = nullptr);
    ~timer();

signals:
    void backRequested();

protected:
    void closeEvent(QCloseEvent *event) override;

private slots:
    // 手动连接的槽函数（不再使用 on_ 命名）
    void startTimer();
    void stopTimer();
    void resetTimer();
    void recordLap();
    void switchToDownloadPage();

    void timeout_slot();        // 定时器超时处理（内部使用，保留）
    void updateTime();          // 系统时间更新（内部使用）

private:
    Ui::timer *ui;
    QTime time;
    QTimer timer_obj;           // 用于打点计时
    QTimer *m_clockTimer = nullptr; // 用于显示系统时间（改用成员变量）
    int recordCount = 0;
    SecondWindow *m_secondWindow = nullptr;
};

#endif // TIMER_H
